﻿#ifndef DAMETHODEDITORPLUGINMANAGER_H
#define DAMETHODEDITORPLUGINMANAGER_H

#include <QtCore/qglobal.h>
#include <QObject>
#include <QList>
class _DAAbstractNodePluginData;
class DAAbstractNodePlugin;
class DAAbstractNodeFactory;

/**
 * @brief 此app的插件管理类
 *
 */
class DAWorkFlowPluginManager : public QObject
{
    Q_OBJECT
    DAWorkFlowPluginManager(QObject *p = nullptr);
    ~DAWorkFlowPluginManager();

public:
    static DAWorkFlowPluginManager &instance();

    //获取所有的节点插件
    QList<DAAbstractNodePlugin *> getNodePlugins() const;

    //获取所有的节点工厂
    QList<DAAbstractNodeFactory *> getNodeFactorys() const;

private:
    QList<_DAAbstractNodePluginData *> m_nodePlugins;
};

#endif // FCMETHODEDITORPLUGINMANAGER_H
